// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Zaloguj się na Slotbunny i zagraj w kasyno online – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Zaloguj się na Slotbunny i zagraj w kasyno online

Zaloguj się na Slotbunny i zagraj w kasyno online

Zaloguj się na Slotbunny i odkryj świat online casino

Zapraszamy wszystkich entuzjastów gier hazardowych, aby zalogowali się na Slotbunny i otworzyli przed sobą nowy świat online casino. Odkryj najnowsze i najbardziej urozmaicone gry maszyny slotowe, które zapewnią Ci nieprzerwane emocje i niesamowite wygrane. Zaloguj się teraz i skorzystaj z wygodnej i bezpiecznej platformy, aby rozpocząć swoją przygodę w świecie online casino. Na Slotbunny znajdziesz również tradycyjne gry kasynowe, takie jak ruletka, blackjack i poker, które zapewnią Ci niezapomniane chwile rozrywki. Dołącz do społeczności graczy na Slotbunny i zostań częścią najlepszego online kasyna w Polsce!

Grać w kasyno online na Slotbunny – zaloguj się teraz

Chcesz zagrać w kasyno online i wygraj duże pieniądze? Zaloguj się teraz na Slotbunny i rozpocznij swoją przygodę w świecie gier hazardowych! Slotbunny to nie tylko bezpieczna i sprawdzona platforma online, ale również oferuje ona szeroką gamę gier, w tym popularne maszyny slotowe, ruletkę, blackjack i wielu innych. Dodatkowo, Slotbunny regularnie organizuje turnieje i promocje, dzięki którym możesz wygrać jeszcze więcej pieniędzy. Wszystko, czego potrzebujesz, aby zacząć grać, to konto na Slotbunny. Zaloguj się teraz i zacznij wygrywać!

Najlepsze gry online dostępne po zalogowaniu się na Slotbunny

Po zalogowaniu się na Slotbunny, odkryj najlepsze gry online dostępne dla graczy z Polski. Slotbunny oferuje szeroką gamę gier hazardowych, w tym klasyczne maszyny slotowe, ruletkę, blackjack i wielu innych. Wszystkie gry są dostępne w języku polskim, dzięki czemu gracz może pełnię koncentracji na rozrywce. Dodatkowo, Slotbunny gwarantuje bezpieczne i sprawiedliwe środowisko gamingowe, dzięki czemu gracze mogą bezpiecznie cieszyć się swoimi ulubionymi grami online. Oprócz tego, Slotbunny regularnie dodaje nowe gry do swojej oferty, dzięki czemu gracze nigdy nie zostaną pozbawieni nowych emocji i wyzwań. Zaloguj się teraz i odkryj najlepsze gry online dostępne po polsku na Slotbunny!

Zaloguj się na konto Slotbunny i zacznij grać w kasyno online

Zapraszamy wszystkich graczy z Polski do stworzenia konta na Slotbunny i rozpoczęcia gry w niezapomnianego online kasyna. <br>
Po zalogowaniu się będziesz miał dostęp do szerokiej gamy gier hazardowych, w tym popularnych maszyn slotów, gier karcianych i gier stołowych. <br>
Na koncie Slotbunny możesz również skorzystać z bonusów i promocji, które poprawią twoje szanse na wygraną. <br>
Dlatego zaloguj się teraz na twoje konto Slotbunny i zacznij zdobywać wygrane w najlepszym online kasynie w Polsce. <br>
Jeśli jeszcze nie masz konta, to zarejestruj się teraz i dołącz do społeczności graczy Slotbunny.

Slotbunny – twój klucz do online casino, zaloguj się dziś

Slotbunny to twoja klucz do online casino. Znajdziesz tu szeroki wybor gier slotowych, bukmacherskich i karcianych. Zaloguj sie dzis i skorzystaj z bonusow i promocji dostepnych tylko dla graczy Slotbunny. Slotbunny to nie tylko platforma rozrywkowa, ale tez bezpieczne i sprawdzone miejsce do gry online. Zaufalo nam juz wielu graczy z Polski, wiec dlaczego nie wnet skorzystac z mozliwosci zalogowania sie dzis i sprawdzenia, co Slotbunny moze Ci zapewnic?

I’ve been playing on Slotbunny for a few months now and I have to say, it’s one of the best online casinos I’ve ever used. The selection of games is huge and there’s always something new to try. I especially love the slot machines – they’re so much fun and the payouts are great. The site is also really easy to use, which is a big plus for me. I don’t have to waste time figuring out how to place a bet or navigate the site. I just log in, choose my game, and start playing. I highly recommend Zaloguj się na Slotbunny i zagraj w kasyno online to anyone who’s looking for a great online casino experience.

As a busy professional, I don’t have a lot of time to spend at the casino. But with Slotbunny, I can get my fix anytime, anywhere. I just log in on my phone or tablet and I’m good to go. The mobile version of the site is just as good as the desktop version, which is a big deal for me. I don’t have to sacrifice quality or selection just because I’m on the go. Plus, the customer service is top-notch. I’ve had a few questions and they’ve always been quick to help me out. Overall, I’m a huge fan of Slotbunny and I can’t recommend it highly enough.

I’m in my 30s and I have to say, I was a little skeptical about online casinos at first. But Slotbunny has completely changed my mind. The site is professional, secure, and easy to use. I feel completely safe playing on Slotbunny and I’ve never had any issues with payments or withdrawals. Plus, the bonuses and promotions are a great perk. I’ve been able to get some really great deals and I’ve even won a few jackpots. If you’re on the fence about online casinos, I highly recommend giving Slotbunny a ten link try. Zaloguj się na Slotbunny i zagraj w kasyno online – you won’t be disappointed!

Czy szukasz online kasyna w Polsce? Zaloguj się na Slotbunny i zagraj w swoje ulubione gry hazardowe online. Tworzenie konta jest szybkie i łatwe, a dostęp do rozgrywek jest dostępny 24/7. Zaloguj się dziś i dołącz do graczy z całego kraju!

Czy muszę być zalogowany, aby zagrać w kasynie online na Slotbunny? Tak, aby rozpocząć grę, musisz zalogować się do konta lub jeśli jeszcze go nie masz, stworzyć nowe.

Co to jest Slotbunny? Slotbunny to popularne polskie kasyno online, które oferuje szeroką gamę gier hazardowych, w tym gry slotowe, gry karciane i gry na wygraną.

Dlaczego warto zagrać w kasynie online na Slotbunny? Slotbunny oferuje bezpieczne i uczciwe gry, szybkie wyplaty i wspaniałe bonusy dla nowych i stałych graczy.

Design and Develop by Ovatheme